#!/usr/bin/python
# -*- coding: utf-8 -*-

#$ -l h_rt=24:00:00
#$ -j y
#$ -o $HOME/autopatrol2.out
#$ -N autopatrol2

import sys
sys.path.append('/home/artem/pywikipedia')

def MonthName(m):
	if m == 1:
		return 'января'
	elif m == 2:
		return 'февраля'
	elif m == 3:
		return 'марта'
	elif m == 4:
		return 'апреля'
	elif m == 5:
		return 'мая'
	elif m == 6:
		return 'июня'
	elif m == 7:
		return 'июля'
	elif m == 8:
		return 'августа'
	elif m == 9:
		return 'сентября'
	elif m == 10:
		return 'октября'
	elif m == 11:
		return 'ноября'
	elif m == 12:
		return 'декабря'

def LastDay(m):
	if m == 1:
		return 31
	elif m == 2:
		return 29
	elif m == 3:
		return 31
	elif m == 4:
		return 30
	elif m == 5:
		return 31
	elif m == 6:
		return 30
	elif m == 7:
		return 31
	elif m == 8:
		return 31
	elif m == 9:
		return 30
	elif m == 10:
		return 31
	elif m == 11:
		return 30
	elif m == 12:
		return 31

def PatrolPage(site, token, page, revid=0):
	import query
	if page.exists():
		if revid == 0:
			revid = page.pageAPInfo()
		
		params = {'action': 'review', 'title': page.title(), 'token' : token, 'revid': revid, 'comment': 'автоматическое патрулирование ботом'}

		result = query.GetData(params, site)

		if 'error' in result: #error occured
			err = result['error']['code']
			wikipedia.output('%s' % result)

import urllib
import wikipedia
import query

site = wikipedia.getSite()
token = site.getToken()

names = [u'Artem Korzhimanov', u'Schekinov Alexey Victorovich', u'Akishin D.', u'Zooro-Patriot', u'Ssr', u'TarzanASG', u'Putnik', u'Ygrek', u'Flrn', u'Innv', u'Ruslik0', u'Velopilger', u'Potupin', u'Dodonov', u'Lord Dimetr', u'Laslovarga', u'Treati', u'Prospector', u'Knyf', u'Vanuan', u'Kolchak1923', u'Aleksandrit', u'AVRS', u'Рашат Якупов', u'CommonsDelinker', u'Diego_Grez_Bot', u'AKBot', u'Glavkos_bot', u'Mjbmrbot', u'GrondinBot', u'VolkovBot', u'Alexbot', u'タチコマ_robot', u'Amirobot', u'JAnDbot']

for page in site.allpages(namespace=0):
#page = wikipedia.Page(site, u'Открыт свободный доступ ко всем книгам Издательства национальных академий США')
	wikipedia.output(page.title())
	verhist = page.getVersionHistory(reverseOrder=True)
	revid = 1
	flag = 0
	for ver in verhist:
		flag = 0
		for name in names:
			if ver[2] == name:
				flag = 1
				revid = ver[0]
				break
		if flag == 0 and revid == 1:
			break
		if flag == 0 and revid != 1:
			PatrolPage(site, token, page, revid)
			break

	if flag == 1:
		PatrolPage(site, token, page, revid)

wikipedia.stopme()

#for y in range (2005,2012):
#	for m in range (1,13):
#		for d in range (1,LastDay(m)+1):
#			page = wikipedia.Page(site, u'Категория:' + str(d) + u' ' + MonthName(m).decode('utf8') + u' ' + str(y))

#			if page.exists():
#				params = {'action': 'review', 'title': page.title(), 'token' : token, 'revid': page.pageAPInfo(), 'comment': 'автоматическое патрулирование ботом'}

#				result = query.GetData(params, site)

#				if 'error' in result: #error occured
#					err = result['error']['code']
#					wikipedia.output('%s' % result)

